Naive Bayes Classifier একটি সাদামাটা এবং শক্তিশালী পরিসংখ্যান ভিত্তিক ক্লাসিফিকেশন অ্যালগরিদম যা বায়েজ থিওরি (Bayes' Theorem) এর উপর ভিত্তি করে কাজ করে। এটি সুপারভাইজড লার্নিং এর একটি জনপ্রিয় কৌশল, বিশেষ করে টেক্সট ক্লাসিফিকেশন, স্প্যাম ফিল্টারিং, এবং সেন্টিমেন্ট এনালাইসিস এর জন্য ব্যবহৃত হয়।
"Naive" শব্দটি এখানে ব্যবহৃত হয়েছে কারণ এটি ধরে নেয় যে সমস্ত বৈশিষ্ট্য বা ফিচার একে অপরের থেকে স্বাধীন (independent)। বাস্তবে, এই ধারণা অনেক সময় সঠিক নাও হতে পারে, তবে এই সাদামাটা পদ্ধতির কারণেই এটি বেশ কার্যকরী এবং দ্রুত কাজ করে।
Naive Bayes Classifier বায়েজ থিওরি ব্যবহার করে ক্লাস প্রেডিকশন করতে। বায়েজ থিওরি আমাদের বলে যে, একটি ক্লাস C এর জন্য কোনো ইনপুট X এর সম্ভাবনা (probability) হল:
P(C∣X)=P(X∣C)⋅P(C)P(X)
এখানে,
Posterior Probability (P(C | X)): একটি নতুন ইনপুট ডেটা X আসলে, প্রতিটি ক্লাসের জন্য পোস্টেরিয়র সম্ভাবনা গণনা করা হয় এবং ক্লাসটির জন্য সবচেয়ে বেশি পোস্টেরিয়র সম্ভাবনা নির্বাচন করা হয়।
P(C∣X)∝P(C)⋅P(X∣C)
Naive Bayes Classifier তিনটি প্রধান ধরনে বিভক্ত:
ধরা যাক, একটি মডেল তৈরি করতে চাই যা একটি ইমেলকে স্প্যাম অথবা নন-স্প্যাম হিসেবে শ্রেণীবদ্ধ করবে। মডেলটির ইনপুট বৈশিষ্ট্য হতে পারে:
প্রথমে, Prior Probability হিসাব করা হবে, যেমন:
তারপর, প্রতিটি শব্দের জন্য Likelihood (যেমন, "ফ্রি" শব্দের স্প্যাম এবং নন-স্প্যাম ইমেলে উপস্থিতির সম্ভাবনা) গণনা করা হবে।
শেষে, একটি নতুন ইমেল যদি "ফ্রি" শব্দসহ আসে, তবে Posterior Probability হিসাব করে, মডেলটি সিদ্ধান্ত নেবে যে এটি স্প্যাম হবে নাকি নন-স্প্যাম।
Naive Bayes একটি শক্তিশালী এবং জনপ্রিয় ক্লাসিফিকেশন অ্যালগরিদম যা সহজ এবং দ্রুত কাজ করে, তবে এটি একটি সাদামাটা ধারণার উপর ভিত্তি করে কাজ করে (বৈশিষ্ট্যগুলির স্বাধীনতা)। এটি ছোট বা বড় ডেটাসেটের জন্য বিশেষভাবে উপযুক্ত এবং প্রায়ই টেক্সট ক্লাসিফিকেশন, স্প্যাম ফিল্টারিং, এবং অন্যান্য স্থানীয় বা শ্রেণীভিত্তিক সমস্যায় ব্যবহৃত হয়।
Naive Bayes একটি সাধারণ এবং জনপ্রিয় ক্লাসিফিকেশন অ্যালগরিদম যা প্রোবেবিলিটি থিওরি (Probability Theory) ভিত্তিক। এটি বিশেষ করে বায়েস থিওরেম (Bayes' Theorem) ব্যবহার করে কাজ করে এবং তার নামের "Naive" অংশের মানে হল যে এটি সব বৈশিষ্ট্যকে একে অপরের উপর স্বাধীন মনে করে (অর্থাৎ, সমস্ত বৈশিষ্ট্য একে অপরের সাথে সম্পর্কহীন হিসেবে বিবেচিত হয়, যা সাধারণত বাস্তবের সাথে সঙ্গতিপূর্ণ নয়, কিন্তু কিছু পরিস্থিতিতে এটি ভালো ফলাফল দেয়)।
এটি সহজ, দ্রুত এবং উচ্চ কার্যকারিতা সম্পন্ন একটি অ্যালগরিদম, যা অনেক সমস্যায় ব্যবহৃত হতে পারে, বিশেষত টেক্সট ক্লাসিফিকেশন এবং স্প্যাম ফিল্টারিং এর মতো ক্ষেত্রে।
Naive Bayes ক্লাসিফিকেশন মডেলটি বায়েস থিওরেমের উপর ভিত্তি করে তৈরি করা হয়, যা কোনো ঘটনার প্রোবেবিলিটি হিসাব করে। সাধারণভাবে, এটি কাজ করে তিনটি প্রধান পদক্ষেপে:
ধরা যাক, আপনি একটি স্প্যাম ফিল্টার তৈরি করতে চান। আপনার কাছে কিছু বৈশিষ্ট্য রয়েছে, যেমন ইমেলের বিষয়বস্তুতে কিছু নির্দিষ্ট শব্দের উপস্থিতি, যেমন "মুক্ত", "অফার", "ফ্রি" ইত্যাদি। আপনি এই বৈশিষ্ট্যগুলি ব্যবহার করে ইমেলটি স্প্যাম নাকি নন-স্প্যাম তা নির্ধারণ করতে চান।
Naive Bayes অ্যালগরিদম এই বৈশিষ্ট্যগুলি থেকে স্প্যাম এবং নন-স্প্যাম ক্লাসের জন্য প্রোবেবিলিটি হিসাব করবে এবং সবচেয়ে বেশি প্রোবেবিলিটি সহ ক্লাস নির্বাচন করবে।
Naive Bayes একটি সোজা এবং কার্যকরী ক্লাসিফিকেশন অ্যালগরিদম যা সহজেই প্রয়োগ করা যায়। যদিও এটি "naive" বা সরল ধারণা ব্যবহার করে (যে বৈশিষ্ট্যগুলির মধ্যে সম্পর্ক নেই), তবে এটি অনেক পরিস্থিতিতে খুব ভালো ফলাফল দিতে পারে, বিশেষত যখন ডেটা প্রাসঙ্গিক এবং কিছুটা স্বতন্ত্র থাকে, যেমন টেক্সট ক্লাসিফিকেশন বা স্প্যাম ফিল্টারিং এর মতো কাজগুলিতে।
বায়েস থিওরেম এবং শর্তাধীন সম্ভাবনা দুটি গুরুত্বপূর্ণ ধারণা মেশিন লার্নিং এবং পরিসংখ্যানের মধ্যে। এগুলি বিশেষভাবে ক্লাসিফিকেশন, ডেটা বিশ্লেষণ এবং সিদ্ধান্ত গ্রহণের প্রক্রিয়ায় ব্যবহৃত হয়।
শর্তাধীন সম্ভাবনা হলো দুটি বা ততোধিক ঘটনাগুলির মধ্যে একটি ঘটার শর্তে অন্যটির ঘটার সম্ভাবনা। এটি দুটি ঘটনা A এবং B এর মধ্যে সম্পর্ক ব্যাখ্যা করে, যখন জানি যে একটি ঘটনা ইতিমধ্যেই ঘটেছে। শর্তাধীন সম্ভাবনা সাধারণত P(A|B) হিসেবে লেখা হয়, যা মানে হলো "ঘটনা B ঘটার শর্তে ঘটনা A ঘটার সম্ভাবনা"।
P(A∣B)=P(A∩B)P(B)
যেখানে:
ধরা যাক, একটি ব্যাগে ১০টি বল আছে, যার মধ্যে ৩টি লাল এবং ৭টি সাদা। যদি একটি বল তুলে নেওয়া হয় এবং আমরা জানি যে এটি লাল, তাহলে লাল বল তোলার শর্তে এটি সাদা হওয়ার সম্ভাবনা কি হবে?
এখানে,
এইভাবে শর্তাধীন সম্ভাবনা ঘটনার মধ্যে সম্পর্ক ও শর্তাধীন নির্ভরতা ব্যাখ্যা করে।
বায়েস থিওরেম হল শর্তাধীন সম্ভাবনা ব্যবহার করে একটি নতুন সম্ভাবনা অনুমান করার একটি পদ্ধতি, যা পূর্ববর্তী তথ্য (prior information) বা পূর্বধারণা (prior belief) এর ভিত্তিতে আপডেট করা হয়। এটি পরিসংখ্যান এবং মেশিন লার্নিংয়ে ব্যাপকভাবে ব্যবহৃত হয়, বিশেষত বায়েসিয়ান ক্লাসিফিকেশন পদ্ধতিতে।
বায়েস থিওরেম মূলত দুটি ধরনের সম্ভাবনা নিয়ে কাজ করে:
P(A∣B)=P(B∣A)⋅P(A)P(B)
যেখানে:
ধরা যাক, একটি হাসপাতালের পাসে একটি ভাইরাসের প্রাদুর্ভাব হয়েছে এবং আপনি জানেন যে ১% লোকই এই ভাইরাসে আক্রান্ত হয়। হাসপাতালের পরীক্ষার মাধ্যমে, ৯৫% ভাইরাস আক্রান্ত লোক সঠিকভাবে শনাক্ত হয় এবং ১০% সঠিক না শনাক্ত হওয়া লোক থেকে ভুল শনাক্ত করা হয়।
এখন, আপনি যদি পরীক্ষা করতে চান যে, যদি কোনো লোক পরীক্ষায় পজিটিভ আসে, তবে তার ভাইরাসে আক্রান্ত হওয়ার সম্ভাবনা কত হবে?
এখানে:
বায়েস থিওরেম ব্যবহার করে আপনি শর্তাধীন সম্ভাবনা P(A∣B) বের করতে পারবেন, অর্থাৎ, পরীক্ষায় পজিটিভ আসলে রোগী আসলেই ভাইরাসে আক্রান্ত হওয়ার সম্ভাবনা।
এটি বিশেষভাবে বায়েসিয়ান ইনফারেন্স, বায়েসিয়ান ক্লাসিফিকেশন এবং সিদ্ধান্ত গ্রহণের পদ্ধতিতে ব্যবহৃত হয়, যেখানে নতুন প্রমাণ বা তথ্যের ভিত্তিতে পূর্বের অনুমান আপডেট করা হয়।
Naive Bayes হল একটি জনপ্রিয় পরিসংখ্যান ভিত্তিক শ্রেণীবিভাজন (classification) অ্যালগরিদম যা বায়েজিয়ান সম্ভাবনা (Bayesian probability) তত্ত্বের উপর ভিত্তি করে কাজ করে। Naive Bayes এর দুটি সাধারণ ধরনের অ্যালগরিদম হল Gaussian Naive Bayes এবং Multinomial Naive Bayes। উভয়ই বিভিন্ন ধরণের ডেটার জন্য উপযুক্ত, এবং তাদের ব্যবহারের ক্ষেত্রে কিছু পার্থক্য রয়েছে।
Gaussian Naive Bayes হল সেই ধরণের Naive Bayes মডেল যা নিরবচ্ছিন্ন বৈশিষ্ট্য (continuous features) বিশ্লেষণ করতে ব্যবহৃত হয়, যেখানে বৈশিষ্ট্যগুলি গাউসিয়ান বিতরণের (Gaussian distribution) অধীনে থাকে। এটি একটি পরিসংখ্যানিক মডেল যা ডেটার গড় এবং মানের বিচ্যুতি (standard deviation) ব্যবহার করে।
গাউসিয়ান ডিস্ট্রিবিউশনে একটি বৈশিষ্ট্য x এর জন্য সম্ভাবনা (probability) এর গণনা:
P(x∣C)=1√2πσ2e−(x−μ)22σ2
এখানে:
Multinomial Naive Bayes হল সেই ধরণের Naive Bayes মডেল যা প্রধানত ক্যাটেগরিক্যাল ডেটা বা ডিসক্রিট ডেটা (discrete data) বিশ্লেষণ করতে ব্যবহৃত হয়, যেখানে বৈশিষ্ট্যগুলি বিভিন্ন শ্রেণীর মধ্যে গণনা করা হয়। এটি সাধারণত টেক্সট শ্রেণীবিভাজন সমস্যা (যেমন স্প্যাম ইমেইল ফিল্টারিং বা নিউজ আর্টিকেল শ্রেণীবিভাজন) এ ব্যবহৃত হয়।
P(x1,x2,…,xn∣C)=n∏i=1P(xi∣C)
এখানে:
বৈশিষ্ট্য | Gaussian Naive Bayes | Multinomial Naive Bayes |
---|---|---|
ডেটার ধরন | নিরবচ্ছিন্ন (continuous) বৈশিষ্ট্য | ক্যাটেগরিক্যাল বা ডিসক্রিট (discrete) বৈশিষ্ট্য |
বৈশিষ্ট্য বিতরণ | গাউসিয়ান ডিস্ট্রিবিউশন (Gaussian distribution) | মাল্টিনোমিয়াল ডিস্ট্রিবিউশন (Multinomial distribution) |
ব্যবহার | গাণিতিক বৈশিষ্ট্য (যেমন উচ্চতা, ওজন, তাপমাত্রা) | টেক্সট ডেটা বা শব্দের সংখ্যা (যেমন স্প্যাম ফিল্টারিং) |
মডেলিং পদ্ধতি | বৈশিষ্ট্যের গড় এবং মান বিচ্যুতি ব্যবহার করে | শ্রেণীভিত্তিক বৈশিষ্ট্যগুলির সংখ্যা ব্যবহার করে |
উদাহরণ | উচ্চতা, তাপমাত্রা, দৈর্ঘ্য | শব্দের উপস্থিতি বা সংখ্যা, ক্যাটাগরিক্যাল বৈশিষ্ট্য |
উপযুক্ত মডেল নির্বাচন ডেটার প্রকৃতির উপর নির্ভর করে, এবং প্রতিটি মডেল নির্দিষ্ট ধরনের সমস্যার জন্য উপযুক্ত।
Naive Bayes হল একটি জনপ্রিক মেশিন লার্নিং অ্যালগরিদম, যা বায়েস থিওরেম এর উপর ভিত্তি করে কাজ করে এবং এটি ক্যাটেগরিক্যাল ডেটা শ্রেণীবদ্ধ করতে ব্যবহৃত হয়। বিশেষ করে এটি শ্রেণীবদ্ধকরণের কাজে খুবই কার্যকরী, তবে এর কিছু শক্তি এবং দুর্বলতা রয়েছে।
Naive Bayes একটি খুবই শক্তিশালী এবং দ্রুত অ্যালগরিদম, যা বিশেষ করে টেক্সট ক্লাসিফিকেশন, স্প্যাম ডিটেকশন এবং ছোট ডেটাসেটে ভালো পারফর্ম করতে পারে। তবে, এর কিছু দুর্বলতা রয়েছে, যেমন বৈশিষ্ট্যগুলির স্বাধীনতা বা সম্পর্কিত ডেটা এবং নতুন বৈশিষ্ট্যের জন্য শূন্য সম্ভাবনার সমস্যা। এই দুর্বলতাগুলি সমাধান করার জন্য কিছু উন্নত কৌশল এবং অতিরিক্ত ট্রেনিং ডেটার প্রয়োজন হতে পারে।
Read more